package org.jeecg.modules.finance.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 账单 - 账户
 * @Author: jeecg-boot
 * @Date:   2021-05-04
 * @Version: V1.0
 */
@Data
@TableName("finance_account")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="finance_account对象", description="账单 - 账户")
public class FinanceAccount implements Serializable {
    private static final long serialVersionUID = 1L;

	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private java.lang.String id;
	/**创建人*/
    @ApiModelProperty(value = "创建人")
    private java.lang.String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private java.util.Date createTime;
	/**名称*/
	@Excel(name = "名称", width = 15)
    @ApiModelProperty(value = "名称")
    private java.lang.String title;
	/**类型(account_type)*/
	@Excel(name = "类型(account_type)", width = 15, dicCode = "account_type")
	@Dict(dicCode = "account_type")
    @ApiModelProperty(value = "类型(account_type)")
    private java.lang.Integer accountType;
	/**余额*/
	@Excel(name = "余额", width = 15)
    @ApiModelProperty(value = "余额")
    private java.lang.Integer money;
	/**账号*/
	@Excel(name = "账号", width = 15)
    @ApiModelProperty(value = "账号")
    private java.lang.String accountNumber;
	/**开卡时间*/
	@Excel(name = "开卡时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "开卡时间")
    private java.util.Date startDate;
	/**到期时间*/
	@Excel(name = "到期时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "到期时间")
    private java.util.Date endData;
	/**封面*/
	@Excel(name = "封面", width = 15)
    @ApiModelProperty(value = "封面")
    private java.lang.String cover;
	/**持卡人*/
	@Excel(name = "持卡人", width = 15)
    @ApiModelProperty(value = "持卡人")
    private java.lang.String userName;
	/**安全码*/
	@Excel(name = "安全码", width = 15)
    @ApiModelProperty(value = "安全码")
    private java.lang.String securityCode;
	/**密码*/
	@Excel(name = "密码", width = 15)
    @ApiModelProperty(value = "密码")
    private java.lang.String passwd;
	/**绑定手机*/
	@Excel(name = "绑定手机", width = 15)
    @ApiModelProperty(value = "绑定手机")
    private java.lang.String bindPhone;
	/**出账日*/
	@Excel(name = "出账日", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "出账日")
    private java.util.Date payOutDay;
	/**还款日*/
	@Excel(name = "还款日", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "还款日")
    private java.util.Date repaymenDay;
}
